package cn.chinaunicom.fast.common.config;

import java.util.Timer;
import java.util.TimerTask;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import cn.chinaunicom.fast.common.utils.MyCache;

/**
 *
 * @ProjectName:    com.springboot.cloud.web
 * @Package:        com.springboot.cloud.common.web.config
 * @ClassName:      MyCacheConfig
 * @Description:    自定义缓存类配置
 * @Author:         wangjc
 * @CreateDate:     2023-03-31
 * @UpdateUser:     更新者
 * @UpdateDate:     2023-03-31
 * @UpdateRemark:   更新内容
 * @Version:        1.0
 */
@Configuration
public class MyCacheConfig {

	@Bean
	public MyCache createMyCache() {
		MyCache instance = MyCache.getInstance();
		// 1. 缓存释放定时器生成
		new Timer().schedule(new TimerTask() {
			@Override
			public void run() {
				// 释放资源
				instance.releasingCache();
			}
		}, MyCache.EXP_ALLTIME, MyCache.DELAY_TIME);
		
		// 2. 持久化硬盘定时器生成
		new Timer().schedule(new TimerTask() {
			@Override
			public void run() {
				// 持久化硬盘
				instance.persistence();
			}
		}, MyCache.EXP_ALLTIME, MyCache.DELAY_TIME * 10);
		return MyCache.getInstance();
	}
}
